# _*_ coding: utf-8 _*_
'''
author:小龙ssss
date: 2025/02/06
description: 新开一个shell窗口并运行python脚本
'''
import subprocess
import sys
import os


def run_in_new_shell(script_path: str):
    """
    在新的Shell窗口中运行给定的Python脚本。

    参数:
        script_path (str): 要运行的Python脚本的路径。
    """
    if not os.path.isfile(script_path):
        print(f"错误: 文件 '{script_path}' 不存在")
        return

    # 根据当前操作系统选择合适的命令
    if sys.platform.startswith('win32'):
        # Windows系统
        cmd = f'start cmd.exe /k python "{script_path}"'
    elif sys.platform.startswith('darwin'):
        # macOS系统
        cmd = f'osascript -e \'tell app "Terminal" to do script "python3 {script_path}"\''
    elif sys.platform.startswith('linux'):
        # Linux系统
        cmd = f'gnome-terminal -- bash -c "python3 {script_path}; exec bash"'
    else:
        print("不支持的操作系统")
        return

    try:
        # 使用subprocess.Popen来启动新Shell并运行命令
        subprocess.Popen(cmd, shell=True)
        print(f"已在新窗口中启动脚本: {script_path}")
    except Exception as e:
        print(f"无法启动脚本: {e}")


def main():
    # 示例：替换为你想要运行的.py文件的路径
    script_to_run = "ollama_server_start.py"
    run_in_new_shell(script_to_run)